package 数组;

/**
 * @Author Weton Li
 * @Date 2021/4/19 21:32
 */
public class 加一 {

    public static int[] plusOne(int[] digits) {
        for (int i = digits.length - 1; i >= 0; i--) {
            digits[i]++;
            digits[i] = digits[i] % 10;
            if (digits[i] != 0) return digits;
        }

        digits = new int[digits.length + 1];
        digits[0] = 1;
        return digits;
    }

    public static int[] method(int[] nums) {
        for (int i = nums.length - 1; i >= 0; i--) {
            nums[i]++;
            nums[i] = nums[i] % 10; // 如果是10，整除后余数为0，如果不为10，余数为当前值，肯定不为0则代表加一完毕
            if (nums[i] != 0) {
                return nums;
            }
        }
        // 如果全部遍历完了，只能是全9的情况
        nums = new int[nums.length + 1];
        nums[0] = 1;
        return nums;
    }

    public static void main(String[] args) {
        int[] input1 = {1, 2, 4, 9};
        int[] input2 = {9, 9, 9, 9};
        int[] ints = method(input2);
        for (int anInt : ints) {
            System.out.print(anInt + "\t");
        }

    }
}
